package com.fruit.app.struts.interceptor;

import java.util.Map;

import org.apache.commons.lang.BooleanUtils;
import org.apache.commons.lang.StringUtils;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;

public class LoginInterceptor extends AbstractInterceptor {

	/**
	 * 
	 */
	private static final long serialVersionUID = -2930276013791252165L;

	@Override
	public String intercept(ActionInvocation invocation) throws Exception {
		//取得请求相关的ActionContext实例
		ActionContext cxt=invocation.getInvocationContext();
		Map session=cxt.getSession();
		//取出名为user的session属性
		String user=(String)session.get("user");
		//如果没有登录，或者登录所有的用户名不是admin，都返回重新登录
		if(user!=null && BooleanUtils.isFalse(StringUtils.isBlank(user))){
			return invocation.invoke();
		}
		//没有登录。将服务器提示设置成一个HttpServletRequest属性
		cxt.put("tip", "您还没有登录，请登录！！");
		return "tologin";
	}

}
